package net.lab1024.sa.base.module.support.rule.service;

import net.lab1024.sa.base.module.support.rule.domain.entity.RuleCepStep;
import java.util.List;

/**
 * 规则步骤 Service 接口
 */
public interface RuleCepStepService {

    /**
     * 保存规则步骤
     *
     * @param ruleCepStep 规则步骤
     * @return boolean
     */
    boolean save(RuleCepStep ruleCepStep);

    /**
     * 更新规则步骤
     *
     * @param ruleCepStep 规则步骤
     * @return boolean
     */
    boolean update(RuleCepStep ruleCepStep);

    /**
     * 删除规则步骤
     *
     * @param id 步骤ID
     * @return boolean
     */
    boolean deleteById(Long id);
    boolean deleteByRuleId(Long id);
    /**
     * 根据ID查询规则步骤
     *
     * @param id 步骤ID
     * @return RuleCepStep
     */
    RuleCepStep getById(Long id);

    /**
     * 根据规则ID查询所有步骤
     *
     * @param ruleId 规则ID
     * @return List<RuleCepStep>
     */
    List<RuleCepStep> getByRuleId(Long ruleId);

    /**
     * 批量保存规则步骤
     *
     * @param ruleId 规则ID
     * @param steps 步骤列表
     * @return boolean
     */
    boolean batchSave(Long ruleId, List<RuleCepStep> steps);
} 